node-red如何连接modbus slave设备¶
说明¶
我想在node-red中用流程图中配置modbus master主设备通过mocbus tcp rtu去联接modbus slave设备,如何配置呢?
步骤一:安装Modbus相关节点¶
- 打开Node-RED编辑器(浏览器访问 http://<你的设备IP>:1880)。
- 点击右上角菜单,选择“Manage palette(管理调色板)”。
- 在“Install”标签页中搜索
node-red-contrib-modbus,点击“Install”安装。
步骤二:添加Modbus TCP/RTU节点¶
- 安装完成后,左侧会出现“modbus”类别。
- 拖拽
modbus-read或modbus-write节点到流程图中。 - 双击节点,点击“Server”右侧的铅笔图标,新增Modbus服务器配置。
步骤三:配置Modbus主设备(Master)¶
- 连接类型:
- 如果是TCP,选择“TCP”,填写Slave设备的IP和端口(通常为502)。
- 如果是RTU(串口),选择“Serial”,填写串口设备(如
/dev/ttyUSB0)、波特率、数据位、校验等参数。 - Unit-Id:填写目标Slave的地址(通常为1)。
- 其他参数按实际需求设置。
步骤四:配置读写操作¶
modbus-read节点:设置功能码(如03读保持寄存器)、起始地址、长度、轮询间隔等。modbus-write节点:设置功能码、目标地址、写入数据等。
Modbus-Read节点参数填写说明¶
- 名称:自定义,便于识别。
- 主题(Topic):可留空或自定义(如用于消息分流时填写),一般默认即可。
- Unit-Id:填写目标 Modbus slave 设备的地址(通常为1,具体看你的设备设置)。
- FC(功能码):选择你要执行的Modbus功能码,常用如下:
- 1:读线圈(Coil Status)
- 2:读离散输入(Input Status)
- 3:读保持寄存器(Holding Registers,最常用)
- 4:读输入寄存器(Input Registers)
- Address:要读取的寄存器或线圈的起始地址(通常从0或1开始,具体看设备手册)。
- Quantity:读取的数量(如要读2个寄存器就填2)。
- Poll Rate:轮询周期,单位为毫秒(如1000表示每秒读取一次)。
举例(读取slave地址为1,保持寄存器,起始地址0,数量2,每秒轮询): - Unit-Id:1 - FC:3 - Address:0 - Quantity:2 - Poll Rate:1000
步骤五:部署与调试¶
- 连接节点,点击右上角“部署”。
- 查看debug面板,确认数据是否正常收发。
参考示例¶
[modbus-read] → [debug]
常见问题¶
- 确认物理连接和串口权限。
- TCP模式下防火墙需放行502端口。
- RTU模式下需正确配置串口参数。
如需更详细的配置说明,可参考node-red-contrib-modbus官方文档